<?php
/**
 * 这里是支付接口类
 * 
 * @author jerry
 * @version $Id$
 * @package model
 *
 */

class PayInterface
{
	/**
	 * 解析函数
	 *
	 */
	function __construct(){}
	
	/**
	 * 得到支付实例
	 *
	 * @param string $pay_name
	 * @return class
	 */
	function getInstance($pay_name)
	{
		if (!isset($instance)) 
		{
			$file = PAY_DIR . $pay_name . '.class.php';
			require_once $file;
			
			$class = ucfirst($pay_name);
			$instance = new $class();
		}
		
		return $instance;
	}
	
	
	/**
	 * 得到支付接口列表
	 *
	 * @return unknown
	 */
	function getPayList()
	{
		if ($handle = opendir(PAY_DIR)) 
		{
		    while (false !== ($file = readdir($handle))) 
		    {
		    	if(is_file(PAY_DIR . $file))
		    	{
		    		$temp = explode('.',$file);
		    		$pay = $temp[0];
		    		
		    		$instance = $this->getInstance($pay);
		    		
		    		unset($temp);
		    		$temp['Pay'] = $pay;
		    		$temp['Name'] = $instance->getName();
		    		
		    		$pay_list[] = $temp;
		    	}
		    }
		    
		    closedir($handle);
		}
		
		return $pay_list;
	}
}

?>